package com.ztgf.search.models.service;

import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.IService;
import com.ztgf.common.constant.Result;
import com.ztgf.search.models.bo.SearchUserBO;
import com.ztgf.search.models.bo.SearchUserSaveBO;
import com.ztgf.search.models.dto.SearchUserDTO;
import com.ztgf.search.models.vo.SearchUserVO;

/**
 * 搜索引擎系统用户表服务
 *
 * @author chenyu.wang
 * @Date 2021-01-28 13:50:45
 */
public interface ISearchUserService extends IService<SearchUserDTO> {

    /**
     * @return : boolean
     * @Author :chenyu.wang
     * @Description : 添加
     * @Date : 2021.01.28 13:57
     * @Param : [saveBO]
     **/
    boolean add(SearchUserSaveBO saveBO);

    SearchUserDTO getUserBySession(String sessionId);

    SearchUserDTO getUserBySession(Long userId);

    void setUserSession(String sessionId, SearchUserDTO dto);

    void delUserSession(String sessionId);

    void delUserSessionById(Long id);

    boolean setResetUserSession(String sessionId);

    Result<?> updateUserPassword(String oldPassword, String newPassword, String name);

    void resetSession(Long userId);
    /**
     * @return : com.baomidou.mybatisplus.plugins.Page<com.ztgf.search.models.vo.SearchUserVO>
     * @Author :chenyu.wang
     * @Description : 搜索引擎管理列表
     * @Date : 2021.01.28 18:28
     * @Param : [bo]
     **/
    Page<SearchUserVO> queryIndexPageList(SearchUserBO bo);

}
